{ "openapi": "3.0.0", "info": { "title": "Policies System API", "description": "This API will create promotion alarms when selling products with undesired prices and promotions. It will create conditions that will check if the prices and the promotions are correct. If not, the system will alarm the store with information about the product sold at unexpected prices.\r\n\r\n ## Index\r\n\r\n- `GET` [Get Policy List](https://developers.vtex.com/docs/api-reference/policies-system-api#get-/api/policy-engine/policies)\r\n- `POST` [Evaluate Policies](https://developers.vtex.com/docs/api-reference/policies-system-api#post-/api/policy-engine/evaluate)\r\n- `GET` [Get Policy by ID](https://developers.vtex.com/docs/api-reference/policies-system-api#get-/api/policy-engine/policies/-id-)\r\n- `POST` [Create Policy](https://developers.vtex.com/docs/api-reference/policies-system-api#post-/api/policy-engine/policies/-id-)\r\n- `PUT` [Update Policy](https://developers.vtex.com/docs/api-reference/policies-system-api#put-/api/policy-engine/policies/-id-)\r\n- `DELETE` [Delete Policy by ID](https://developers.vtex.com/docs/api-reference/policies-system-api#delete-/api/policy-engine/policies/-id-)", "contact": {}, "version": "" }, "servers": [ { "url": "https://{accountName}.{environment}.com.br", "description": "VTEX server URL.", "variables": { "accountName": { "description": "Name of the VTEX account. Used as part of the URL.", "default": "apiexamples" }, "environment": { "description": "Environment to use. Used as part of the URL.", "enum": [ "vtexcommercestable" ], "default": "vtexcommercestable" } } } ], "paths": { "/api/policy-engine/policies": { "get": { "tags": [ "Policy" ], "summary": "Get policy list", "description": "Retrieves a list of all policies in the account and general information of each policy.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Promotions Policy Engine | Policies | **List Policies** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Policy_List", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PolicyGetResponse" }, "description": "Array of objects with policies infomation." }, "example": [ { "id": "pa_test_001", "name": "TestAlarmBerenice", "description": "TesteMarcosPromotionsAlert", "statements": [ { "effect": "Allow", "actions": [ { "id": "SendSlackMessage", "metadata": { "channel": "C01NJFF35R6", "relatedUsers": [ "URUNDC2NB" ], "alertDescription": "Avoid selling products from Berenice with a discount greater than 70%." } } ], "resource": "vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert", "condition": { "conditions": [ { "conditions": [], "operation": "stringEquals", "key": "brandId", "values": [ "2000001" ] }, { "conditions": [], "operation": "numericGreaterThan", "key": "discountPercentage", "values": [ "70.00" ] } ], "operation": "and" } } ] } ] } } } } } }, "/api/policy-engine/evaluate": { "post": { "tags": [ "Policy" ], "summary": "Evaluate policies", "description": "This endpoint consults all policies and checks the ones that satisfy the request body’s conditions.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Promotions Policy Engine | Policies | **Evaluate Policy** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Policy_Evaluate", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvaluatePolicyRequest" }, "example": { "resource": "vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert", "context": { "brandId": "2000001", "discountPercentage": "91.00" } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PolicyActionGetResponse" }, "description": "Array of objects with policies infomation." }, "example": [ { "id": "SendSlackMessage", "metadata": { "channel": "C01NJFF35R6", "relatedUsers": [ "URUNDC2NB" ], "alertDescription": "Avoid selling products from Berenice with a discount greater than 70%." } } ] } } } }, "deprecated": false } }, "/api/policy-engine/policies/{id}": { "get": { "tags": [ "Policy" ], "summary": "Get policy by ID", "description": "Retrieves general information of a policy by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Promotions Policy Engine | Policies | **Get Policy** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Policy_Get", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "id", "in": "path", "required": true, "description": "Policy ID.", "schema": { "type": "string", "example": "pa_test_001" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PolicyGetResponse" }, "description": "Array of objects with policies infomation." }, "example": [ { "id": "pa_test_001", "name": "TestAlarmBerenice", "description": "TesteMarcosPromotionsAlert", "statements": [ { "effect": "Allow", "actions": [ { "id": "SendSlackMessage", "metadata": { "channel": "C01NJFF35R6", "relatedUsers": [ "URUNDC2NB" ], "alertDescription": "Avoid selling products from Berenice with a discount greater than 70%." } } ], "resource": "vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert", "condition": { "conditions": [ { "conditions": [], "operation": "stringEquals", "key": "brandId", "values": [ "2000001" ] }, { "conditions": [], "operation": "numericGreaterThan", "key": "discountPercentage", "values": [ "70.00" ] } ], "operation": "and" } } ] } ] } } } } }, "post": { "tags": [ "Policy" ], "summary": "Create policy", "description": "Creates a new policy from scratch.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Promotions Policy Engine | Policies | **Create or Update Policy** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Policy_CreateOrUpdate", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "id", "in": "path", "required": true, "description": "Policy ID.", "schema": { "type": "string", "example": "pa_test_001" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicySaveRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/octet-stream": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PolicyGetResponse" }, "description": "Array of objects with policies infomation." }, "example": [ { "name": "MyAlert", "description": "TestPromotionsAlert", "status" : "inactive", "statements": [ { "effect": "Allow", "actions": [ { "id": "SendSlackMessage", "metadata": {} } ], "resource": "vrn:vtex.promotions-alert:aws-us-east-1:example:master:/_v/promotions_alert", "condition": { "conditions": [ { "operation": "numericGreaterThan", "key": "discountPercentage", "values": [ "41.00" ] } ], "operation": "and" } } ] } ] } } } } }, "put": { "tags": [ "Policy" ], "summary": "Update policy", "description": "Updates an existing policy at your account.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Promotions Policy Engine | Policies | **Create or Update Policy** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Policy_Update", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "id", "in": "path", "required": true, "description": "Policy ID.", "schema": { "type": "string", "example": "pa_test_001" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicySaveRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/octet-stream": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PolicyGetResponse" }, "description": "Array of objects with policies infomation." }, "example": [ { "name": "MyAlert", "description": "TestPromotionsAlert", "status" : "inactive", "statements": [ { "effect": "Allow", "actions": [ { "id": "SendSlackMessage", "metadata": {} } ], "resource": "vrn:vtex.promotions-alert:aws-us-east-1:example:master:/_v/promotions_alert", "condition": { "conditions": [ { "operation": "numericGreaterThan", "key": "discountPercentage", "values": [ "41.00" ] } ], "operation": "and" } } ] } ] } } } }, "deprecated": false }, "delete": { "tags": [ "Policy" ], "summary": "Delete policy by ID", "description": "Deletes a specific policy of the account by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Promotions Policy Engine | Policies | **Delete Policy** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Policy_Delete", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "id", "in": "path", "required": true, "description": "Policy ID.", "schema": { "type": "string", "example": "pa_test_001" } } ], "responses": { "200": { "description": "200 OK" } }, "deprecated": false } } }, "security": [ { "appKey": [], "appToken": [] }, { "VtexIdclientAutCookie": [] } ], "components": { "schemas": { "PolicyActionGetResponse": { "title": "PolicyActionGetResponse", "type": "object", "description": "Object with policy conditions.", "properties": { "id": { "type": "string", "description": "Action ID.", "title": "id" }, "metadata": { "type": "object", "description": "Metadata object from the current action.", "title": "metadata", "additionalProperties": true } } }, "EvaluatePolicyRequest": { "required": [ "resource", "context" ], "type": "object", "description": "Object with policy conditions.", "properties": { "resource": { "description": "Scope on which this policy must be evaluated.", "title": "resource", "type": "string", "example": "vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert" }, "context": { "type": "object", "description": "Conditions that the policy needs to satisfy.", "title": "context", "example": { "brandId": "2000001", "discountPercentage": "91.00" }, "additionalProperties": true } } }, "PolicySaveRequest": { "required": [ "name", "description", "statements" ], "type": "object", "description": "Object with policy save information.", "properties": { "name": { "type": "string", "description": "Policy name.", "title": "name", "example": "id" }, "description": { "type": "string", "description": "Policy description, only for internal use.", "title": "description", "example": "TesteMarcosPromotionsAlert" }, "status": { "type": "string", "description": "The status field defines if the policy is `active` or `inactive`. An `active` policy is enforced, while an `inactive` policy is stored but not applied.", "title": "description", "example": "active" }, "statements": { "type": "array", "title": "statements", "items": { "$ref": "#/components/schemas/StatementGet" }, "description": "Requirements for the the policy to be applied." } } }, "PolicyGetResponse": { "title": "PolicyGetResponse", "description": "Object with policy information.", "type": "object", "properties": { "id": { "type": "string", "title": "id", "description": "Policy ID." }, "name": { "type": "string", "description": "Policy name.", "title": "name" }, "description": { "type": "string", "description": "Policy description, only for internal use.", "title": "description" }, "statements": { "type": "array", "title": "statements", "items": { "$ref": "#/components/schemas/StatementGetResponse" }, "description": "Requirements for the policy to be applied." } } }, "StatementGet": { "type": "object", "description": "Object with policy conditions.", "required": [ "effect" ], "properties": { "effect": { "type": "string", "title": "effect", "description": "This field is not functional at the moment. To create a correct request, fill the field with `Allow`.", "example": "Allow", "deprecated": true }, "actions": { "type": "array", "title": "actions", "items": { "properties": { "id": { "type": "string", "title": "id", "description": "Action ID.", "example": "SendSlackMessage", "enum": [ "SendSlackMessage", "SendEmail", "DeactivatePromotions" ] }, "metadata": { "type": "object", "title": "metadata", "description": "Data inside of the actions.", "additionalProperties": true } }, "type": "object", "description": "Array with actions information." }, "description": "Actions that the policy will execute." }, "resource": { "type": "string", "description": "Scope on which this policy must be evaluated.", "title": "resource", "example": "vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert" }, "condition": { "type": "object", "properties": { "operation": { "type": "string", "title": "operation", "description": "This operation will determine if all the conditions need to be valid or at least one of them, if the conditions array is not empty.", "example": "None", "enum": [ "None", "stringEquals", "stringEqualsIgnoreCase", "numericEquals", "numericLessThan", "numericLessThanEquals", "numericGreaterThan", "numericGreaterThanEquals", "bool", "not", "or", "and", "dateTimeUtcGreaterThan", "dateTimeUtcLessThan", "between" ] }, "conditions": { "type": "array", "description": "List of conditions that will activate the policy.", "items": { "description": "List of conditions that will activate the policy.", "type": "object", "properties": { "conditions": { "title": "conditions", "type": "array", "description": "List of conditions the actions can have. It can be an empty array `[]`.", "enum": [ [], [ "stringEquals" ], [ "numericGreaterThan" ] ], "items": { "type": "string", "description": "Condition value.", "example": "None" } }, "operation": { "type": "string", "title": "operation", "description": "The action of the condition.", "example": "None", "enum": [ "None", "stringEquals", "stringEqualsIgnoreCase", "numericEquals", "numericLessThan", "numericLessThanEquals", "numericGreaterThan", "numericGreaterThanEquals", "bool", "not", "or", "and", "dateTimeUtcGreaterThan", "dateTimeUtcLessThan", "between" ] }, "key": { "type": "string", "title": "key", "description": "The element that will define what the policy will influence.", "example": "skuId", "enum": [ "skuId", "brandId", "discountPercentage" ] }, "values": { "type": "array", "title": "values", "items": { "type": "string", "description": "Key value.", "example": "40.00" }, "description": "Array with values of the key." } } } } }, "description": "Condition to activate this policy. This object can have a maximum of ten recursive conditions.", "title": "condition" } } }, "StatementGetResponse":{ "type": "object", "description": "Object with policy conditions.", "required": [ "effect" ], "properties": { "effect": { "type": "string", "title": "effect", "description": "This field is not functional at the moment. To create a correct request, fill the field with `Allow`.", "deprecated": true }, "actions": { "type": "array", "title": "actions", "items": { "properties": { "id": { "type": "string", "title": "id", "description": "Action ID.", "enum": [ "SendSlackMessage", "SendEmail", "DeactivatePromotions" ] }, "metadata": { "type": "object", "title": "metadata", "description": "Data inside of the actions.", "additionalProperties": true } }, "type": "object", "description": "Array with actions information." }, "description": "Actions that the policy will execute." }, "resource": { "type": "string", "description": "Scope on which this policy must be evaluated.", "title": "resource", }, "condition": { "type": "object", "properties": { "operation": { "type": "string", "title": "operation", "description": "This operation will determine if all the conditions need to be valid or at least one of them, if the conditions array is not empty.", "enum": [ "None", "stringEquals", "stringEqualsIgnoreCase", "numericEquals", "numericLessThan", "numericLessThanEquals", "numericGreaterThan", "numericGreaterThanEquals", "bool", "not", "or", "and", "dateTimeUtcGreaterThan", "dateTimeUtcLessThan", "between" ] }, "conditions": { "type": "array", "description": "List of conditions that will activate the policy.", "items": { "description": "List of conditions that will activate the policy.", "type": "object", "properties": { "conditions": { "title": "conditions", "type": "array", "description": "List of conditions the actions can have. It can be an empty array `[]`.", "enum": [ [], [ "stringEquals" ], [ "numericGreaterThan" ] ], "items": { "type": "string", "description": "Condition value.", } }, "operation": { "type": "string", "title": "operation", "description": "The action of the condition.", "enum": [ "None", "stringEquals", "stringEqualsIgnoreCase", "numericEquals", "numericLessThan", "numericLessThanEquals", "numericGreaterThan", "numericGreaterThanEquals", "bool", "not", "or", "and", "dateTimeUtcGreaterThan", "dateTimeUtcLessThan", "between" ] }, "key": { "type": "string", "title": "key", "description": "The element that will define what the policy will influence.", "enum": [ "skuId", "brandId", "discountPercentage" ] }, "values": { "type": "array", "title": "values", "items": { "type": "string", "description": "Key value.", }, "description": "Array with values of the key." } } } } }, "description": "Condition to activate this policy. This object can have a maximum of ten recursive conditions.", "title": "condition" } } } }, "securitySchemes": { "appKey": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppKey", "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "appToken": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppToken", "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "VtexIdclientAutCookie": { "type": "apiKey", "in": "header", "name": "VtexIdclientAutCookie", "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." } }, "parameters": { "Content-Type": { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, "Accept": { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } } }, "tags": [ { "name": "Policy" } ] }